Page({
  data:{
    isincome:true,
    incomelist:[],
    paylist:[],
    isinput:true,
    incometotal:[],
    paytotal:[],
    inputval:'',
    date:'2021-10-15',
    datetotal:[]
  },
  click(e){
    console.log(e)
    if(e.currentTarget.dataset.name=='income'){
      this.setData({
        isincome:true
      })
    }else{
      this.setData({
        isincome:false
      })
    }
  },
  add(){
    this.setData({
      isinput:!this.data.isinput
    })
  },
  confirm(e){
    let je =Number(e.detail.value)  //获取输入
    let now='income'//输入类型
    let date=this.data['date']//获取日期
    if(!this.data.isincome) now='pay'//修正类型
    let list=this.data[now+'list'],total=this.data[now+'total']//获取当前列表和累计
    list.push(date +"—"+ je)//加入 输入
    total = list.reduce((sum,v)=>{return sum+=Number(v.split("—")[1])},0)//刷新累计
    this.setData({//设置数据
      [now+'list']:list,    //数组
      [now+'total']:total,   //余额
      isinput:false,    
      inputval:''
    })

    //日期汇总
    let datetotal=this.data.datetotal       //获取日期数组
    date=date.split("-")[0]+"-"+date.split("-")[1]  //日期=选中的第一位和第二位
    let o={date,income:0,pay:0}     //创建一个[日期，收入，支出]数组
      o[now]+=je   //收入  o【收入or支出】= 输入的金额+收入or支出
    let x=datetotal.find((x)=>{           //查询当前的日期
      return x['date']==date              //返回当前的日期
    })
    if(x) x[now]+=je        // 如果存在，直接修改
    else datetotal.push(o)  // 不存在，直接加入
    this.setData({datetotal})   //打印日期数组
  },
  change(e){      
    let v=e.detail.value   //获取选择的日期
    this.setData({date:v})    //日期：日期
  },
  onUnload(){
    this.onHide()
  },
  onHide(){
    let data=this.data
    wx.setStorage({data,key:'money'})
  },
  // 清除缓存
  clear(){
    wx.clearStorage({success: (res) => {},})
    this.setData({incomelist:[],incometotal:0,paylist:[],paytotal:0,datetotal:[]})
  },
  onLoad(){
    wx.getStorage({
      key:'money'
    }).then(res=>{
      console.log('缓存数据',res.data)
      this.setData({
        incomelist:res.data['incomelist'],
        incometotal:res.data['incometotal'],
        paylist:res.data['paylist'],
        paytotal:res.data['paytotal'],
        datetotal:res.data['datetotal']
      })
    })
  },
})